package com.huang.mapper;

import com.huang.pojo.Menu;
import com.huang.pojo.Role;
import com.huang.pojo.RoleExample;
import java.util.List;
import org.apache.ibatis.annotations.Param;

public interface RoleMapper {
    long countByExample(RoleExample example);

    int deleteByExample(RoleExample example);

    int deleteByPrimaryKey(Integer r_id);

    /**
     * 返回插入后的id
     * @param record
     * @return
     */
    int insert(Role record);

    int insertSelective(Role record);

    List<Role> selectByExample(RoleExample example);

    Role selectByPrimaryKey(Integer r_id);

    int updateByExampleSelective(@Param("record") Role record, @Param("example") RoleExample example);

    int updateByExample(@Param("record") Role record, @Param("example") RoleExample example);

    int updateByPrimaryKeySelective(Role record);

    int updateByPrimaryKey(Role record);



    /**
     * 通过roleId 查询菜单列表
     * @param id
     * @return
     */
    List<Menu> selectMenusByRoleId(@Param("id") Integer id);

    /**
     * 批量删除
     * @param ids
     * @return
     */
    int deleteByBatch(@Param("ids") List<Integer> ids);

    /**
     * 将角色对应的资源添加到中间表
     * @param ids 资源id
     * @return
     */
    int insertToRoleAndMenu(@Param("ids") List<Integer> ids, @Param("roleId") Integer id);

    /**
     * 根据roleId删除role_menu表
     * @param ids
     * @return
     */
    int deleteRoleAndMenuByRoleId(@Param("id") Integer roleId);

}